package com.aidex.biz.domain;

import com.aidex.common.annotation.Excel;
import com.aidex.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * 账户流水对象 biz_account_log
 *
 * @author sean
 * @email 2074844820@qq.com
 * @date 2022-10-26
 */
@Data
public class AccountLog extends BaseEntity<AccountLog> {
    private static final long serialVersionUID = 1L;


    /**
     * 用户账户
     */
    @Excel(name = "用户账户")
    private String userAccountId;

    /**
     * 交易类型
     */
    @Excel(name = "交易类型")
    private String type;

    /**
     * 开始金额
     */
    private BigDecimal startMoney;

    /**
     * 结束金额
     */
    private BigDecimal endMoney;

    /**
     * 发生金额
     */
    private BigDecimal money;

    /**
     * 目标账户
     */
    private String targetAccountId;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 状态（0正常 1 停用）
     */
    @NotBlank(message = "状态（0正常 1 停用）不允许为空")
    private String status;

    //
    private String statusText;

    private String name, phone, targetName;


    public void setUserAccountId(String userAccountId) {
        this.userAccountId = userAccountId;
    }

    public String getUserAccountId() {
        return userAccountId;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setStartMoney(BigDecimal startMoney) {
        this.startMoney = startMoney;
    }

    public BigDecimal getStartMoney() {
        return startMoney;
    }

    public void setEndMoney(BigDecimal endMoney) {
        this.endMoney = endMoney;
    }

    public BigDecimal getEndMoney() {
        return endMoney;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setTargetAccountId(String targetAccountId) {
        this.targetAccountId = targetAccountId;
    }

    public String getTargetAccountId() {
        return targetAccountId;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getSort() {
        return sort;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("userId", getUserId()).append("deptId", getDeptId()).append("userName", getUserName()).append("deptName", getDeptName()).append("companyId", getCompanyId()).append("userAccountId", getUserAccountId()).append("type", getType()).append("startMoney", getStartMoney()).append("endMoney", getEndMoney()).append("money", getMoney()).append("targetAccountId", getTargetAccountId()).append("sort", getSort()).append("status", getStatus()).append("remark", getRemark()).append("id", getId()).append("createBy", getCreateBy()).append("createDept", getCreateDept()).append("createTime", getCreateTime()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("updateIp", getUpdateIp()).append("version", getVersion()).append("delFlag", getDelFlag()).toString();
    }
}
